package remote_request

type DynamicCreate struct {
	Id                   string     `json:"id"`
	Name                 string     `json:"name"`
	RequestDomain        string     `json:"request_domain"`
	CnameScheduleEnable  string     `json:"cname_schedule_enable"`
	Topo                 string     `json:"topo"`
	RenterID             string     `json:"renterID"`
	TenantId             string     `json:"tenant_id"`
	Sources              []Source   `json:"sources"`
	ServiceIpIndex       string     `json:"service_ip_index"`
	PortLists            []PortList `json:"port_list"`
	Parameters           `json:"parameters"`
	PublishDomain        string `json:"publish_domain"`
	SchedulePolicy       string `json:"schedule_policy"`
	GlobalDomain         string `json:"global_domain"`
	PublishHostname      string `json:"publish_hostname"`
	WildcardDomainEnable string `json:"wildcard_domain_enable"`
}

type Parameters struct {
	ProxyProtocolEnable     string `json:"proxy_protocol_enable"`
	DisableOriginPortHeader string `json:"disable_origin_port_header"`
}

type Source struct {
	ServerMode     string   `json:"server_mode"`
	Servers        []string `json:"servers"`
	StandbyServers []string `json:"standby_servers"`
	Type           string   `json:"type"`
	OriginDc       string   `json:"origin_dc"`
	Matches        int      `json:"_matches"`
	Rule           int      `json:"_rule"`
	Algorithm      string   `json:"algorithm"`
}

type PortList struct {
	Id                string `json:"id"`
	OriginPort        string `json:"origin_port"`
	SslEnable         string `json:"ssl_enable"`
	AccessPort        string `json:"access_port"`
	OriginForwardPort string `json:"origin_forward_port"`
	ProxyPort         string `json:"proxy_port"`
	Type              string `json:"type"`
}

//type Servers struct {
//	Ip       string `json:"ip"`
//	CheckUrl string `json:"check_url"`
//}
